#include <ESP8266WiFi.h>
#include <WiFiClient.h> 
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>

const char *ssid = "IFSC";
const char *password = "campuschapeco";
const int http_port = 8080;

WiFiClient client;
#define D7    13 //dht
#define D1    5 //pushbuttom
#define D3    0 // LED

void setup() {
  pinMode(D3,OUTPUT);
  pinMode(D1,INPUT);
  digitalWrite(D3,LOW);  
  Serial.begin(115200);
  WiFi.mode(WIFI_OFF);delay(1000);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);Serial.println(".");
  Serial.print("Conectando...");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);Serial.print(".");}
    Serial.println ("");
    Serial.print ("Conectado a ");Serial.println (ssid);
    Serial.print ("Endereço IP: ");Serial.println (WiFi.localIP ());
    Serial.print("MAC: ");    Serial.println(WiFi.macAddress());    
}

void EnviaServer(String postData){
    HTTPClient http;

    String servidores[3] = {
        "http://modulo8.migueldebarba.com.br/grupoa/lucas/insertleitura.php",
        "http://modulo8.migueldebarba.com.br/grupoa/caroline/insertleitura.php",
        "http://modulo8.migueldebarba.com.br/miguel/insertleitura.php"
    };

    for (int i = 0; i < 3; i++) {
        http.begin(client, servidores[i]);
        http.addHeader("Content-Type", "application/x-www-form-urlencoded");
        int httpCode = http.POST(postData);
        String payload = http.getString();

        Serial.println("Servidor: " + servidores[i]);
        Serial.println("httpCode: " + String(httpCode));
        Serial.println("payload: " + payload);

        http.end();
    }
}

void loop() {
    digitalWrite(D3,HIGH);
    String mac_idmac = WiFi.macAddress();    
    String from = "ESP8266";
    String nome = "Prova Lucas e Caroline";

    float valor = random(0,1024);
    float capacidade_m = random(0,100);
    float distancia_km = random(0,100);
    float ladodois_cm = random(0,100);
    float pressao_bar = random(0,100);
    float volume_l = random(0,100);
    float temperatura_f = random(0,100);
    
    float velocidade_ms = random(0,100);
    float consumo1 = random(0,100);

    String postData = 
      "mac_idmac=" + mac_idmac
    + "&nome=" + nome
    + "&from=" + from
    + "&valor=" + String(valor)
    + "&capacidade_m=" + String(capacidade_m)
    + "&distancia_km=" + String(distancia_km)
    + "&ladodois_cm=" + String(ladodois_cm)
    + "&pressao_bar=" + String(pressao_bar)
    + "&volume_l=" + String(volume_l)
    + "&temperatura_f=" + String(temperatura_f)
    + "&velocidade_ms=" + String(velocidade_ms)
    + "&consumo1=" + String(consumo1);

    EnviaServer(postData); 
    delay(10000);
    digitalWrite(D3,LOW);
}